package com.marvels.financial.collection.dto;

import com.marvels.common.dto.BaseDTO;

import java.math.BigDecimal;
import java.util.Date;

/**
 * 入催dto
 * @author zhaosa
 *
 */
public class ReminderDTO extends BaseDTO{

	
	/**
	 * 
	 */
	private static final long serialVersionUID = 1L;
	
	private String caseId;    //  cm_case_sum 中的case_id字段
	/**
	 * 起始时间
	 */
	private Date startDate;
	
	/**
	 * 终止时间
	 */
	private Date endDate;
	
	/**
	 * 页码
	 */
	private Integer pageNo;
	
	/**
	 * 单页大小
	 */
	private Integer pageSize;
	
	/**
	 * 产品编码
	 */
	private String productCode;

	/**
	 * 产品名称 
	 */
	private String productName;
	
	private String productTypeName;
	/**
	 * 状态
	 */
	private String status;
	
	
	private Date time;
	
	/**
	 * 渠道
	 */
	private String channel;
	
	/**
	 * 入催时间
	 */
	private Date reminderDate;
	
	
	//private String channelName;//渠道	
	
	/**
	 * 业务品种
	 */
	private String businessName;
	
	/**
	 * 客户姓名
	 */
	private String custName;
	
	/**
	 * 身份证
	 */
	private String custIdNbr;
	
	

	private String custMobile;//手机号
	
	/**
	 * 当前还款期数
	 */
	private String currTermNo;
	
	/**
	 * 应还款时间
	 */
	private Date paymentDate;
	
	/**
	 * 出催时间
	 */
	private Date outputDate;
	
	/**
	 * 实际还款时间
	 */
	private Date actualPaymentDate;
	
	/**
	 * 还款方式  -- 主动还款：客户本人通过APP操作还款   -A002-当前还款	-- 手工代扣：客服操作手工代扣完成还款  -A006	-- 批量代扣：每日定时代扣完成还款      -A001
	 */
	private String paymentType;
	
	/**
	 * 动态应还款金额
	 */
	private BigDecimal principalMoveAmt= BigDecimal.ZERO.setScale(2);
	
	/**
	 * 静态应还金额
	 */
	private BigDecimal principalStaticAmt= BigDecimal.ZERO.setScale(2);
	
	/**
	 * 用于判断 全逾期，部分逾期，金额=0为全部逾期，不等0为部分逾期
	 */
	private int statusType;

	public String getProductName() {
		return productName;
	}

	public void setProductName(String productName) {
		this.productName = productName;
	}

	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	public Date getTime() {
		return time;
	}

	public void setTime(Date time) {
		this.time = time;
	}

	public String getChannel() {
		return channel;
	}

	public void setChannel(String channel) {
		this.channel = channel;
	}

	public Date getReminderDate() {
		return reminderDate;
	}

	public void setReminderDate(Date reminderDate) {
		this.reminderDate = reminderDate;
	}

	public String getBusinessName() {
		return businessName;
	}

	public void setBusinessName(String businessName) {
		this.businessName = businessName;
	}

	public String getCustName() {
		return custName;
	}

	public void setCustName(String custName) {
		this.custName = custName;
	}

	public String getCustIdNbr() {
		return custIdNbr;
	}

	public void setCustIdNbr(String custIdNbr) {
		this.custIdNbr = custIdNbr;
	}

	public String getCurrTermNo() {
		return currTermNo;
	}

	public void setCurrTermNo(String currTermNo) {
		this.currTermNo = currTermNo;
	}

	public Date getPaymentDate() {
		return paymentDate;
	}

	public void setPaymentDate(Date paymentDate) {
		this.paymentDate = paymentDate;
	}

	public Date getOutputDate() {
		return outputDate;
	}

	public void setOutputDate(Date outputDate) {
		this.outputDate = outputDate;
	}

	public Date getActualPaymentDate() {
		return actualPaymentDate;
	}

	public void setActualPaymentDate(Date actualPaymentDate) {
		this.actualPaymentDate = actualPaymentDate;
	}

	public String getPaymentType() {
		return paymentType;
	}

	public void setPaymentType(String paymentType) {
		this.paymentType = paymentType;
	}

	public BigDecimal getPrincipalMoveAmt() {
		return principalMoveAmt;
	}

	public void setPrincipalMoveAmt(BigDecimal principalMoveAmt) {
		this.principalMoveAmt = principalMoveAmt;
	}

	public BigDecimal getPrincipalStaticAmt() {
		return principalStaticAmt;
	}

	public void setPrincipalStaticAmt(BigDecimal principalStaticAmt) {
		this.principalStaticAmt = principalStaticAmt;
	}

	public String getCaseId() {
		return caseId;
	}

	public void setCaseId(String caseId) {
		this.caseId = caseId;
	}

	public Date getStartDate() {
		return startDate;
	}

	public void setStartDate(Date startDate) {
		this.startDate = startDate;
	}

	public Date getEndDate() {
		return endDate;
	}

	public void setEndDate(Date endDate) {
		this.endDate = endDate;
	}

	public Integer getPageNo() {
		return pageNo;
	}

	public void setPageNo(Integer pageNo) {
		this.pageNo = pageNo;
	}

	public Integer getPageSize() {
		return pageSize;
	}

	public void setPageSize(Integer pageSize) {
		this.pageSize = pageSize;
	}

	public int getStatusType() {
		return statusType;
	}

	public void setStatusType(int statusType) {
		this.statusType = statusType;
	}

	public String getProductCode() {
		return productCode;
	}

	public void setProductCode(String productCode) {
		this.productCode = productCode;
	}

	@Override
	public String toString() {
		return "ReminderDTO [caseId=" + caseId + ", startDate=" + startDate
				+ ", endDate=" + endDate + ", pageNo=" + pageNo + ", pageSize="
				+ pageSize + ", productCode=" + productCode + ", productName="
				+ productName + ", status=" + status + ", time=" + time
				+ ", channel=" + channel + ", reminderDate=" + reminderDate
				+ ", businessName=" + businessName + ", custName=" + custName
				+ ", custIdNbr=" + custIdNbr + ", currTermNo=" + currTermNo
				+ ", paymentDate=" + paymentDate + ", outputDate=" + outputDate
				+ ", actualPaymentDate=" + actualPaymentDate + ", paymentType="
				+ paymentType + ", principalMoveAmt=" + principalMoveAmt
				+ ", principalStaticAmt=" + principalStaticAmt
				+ ", statusType=" + statusType + "]";
	}

	public String getProductTypeName() {
		return productTypeName;
	}

	public void setProductTypeName(String productTypeName) {
		this.productTypeName = productTypeName;
	}

	public String getCustMobile() {
		return custMobile;
	}

	public void setCustMobile(String custMobile) {
		this.custMobile = custMobile;
	}

	
}
